//
//  AppDelegate.swift
//  SinaSwift
//
//  Created by Yan on 16/3/5.
//  Copyright © 2016年 baidu. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        
        window = UIWindow(frame:UIScreen.mainScreen().bounds)
        window?.backgroundColor = UIColor.whiteColor()
        // 创建空的YHPMainTabBarController
        defaultRootViewController()
        registerNotification()
        window?.makeKeyAndVisible()
        return true
    }
    
    func registerNotification () {
        /*
        * 1.监听者
        * 2.监听之后执行方法
        * 3.通知名字
        **/
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "changeRootVC:", name: SwitchRootViewController, object: nil)
         //SinaSwift.AppDelegate changeRootVC]: unrecognized selector sent to instance 0x7fa3eb704c40 changeRootVC没有实现 原因是方法写了但是参数没有写 或者方法前没有@objc调用不到此方法,解决方案,就是设置断点查看
    }

    // 监听通知
    @objc private func changeRootVC(n:NSNotification) {
        //object是发送通知的辅助参数,作为发送通知方让 监听者 根据此信息做不同的事情的依据 
        window?.rootViewController = (n.object == nil) ? YHPMainTabBarController() : YHPWelcomeViewController()
    }
    
    // 设置默认rootVC
    func defaultRootViewController () {
       //如果登录就显示欢迎界面否则显示 登录界面
       let rootVC = YHPUserAccount.shareAccount.userLogin ? YHPWelcomeViewController() : YHPMainTabBarController()
        self.window?.rootViewController = rootVC
    }
 
    // 移除通知
    deinit {
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }


}

